অ্যাপাচি আইভি (Apache Ivy) ডিপেনডেন্সি ম্যানেজমেন্টের জন্য একটি গুরুত্বপূর্ণ টুল যা ডিপেনডেন্সি ক্যাশিং ব্যবস্থাপনা প্রদান করে। ক্যাশিং হল সেই প্রক্রিয়া, যেখানে আইভি ডাউনলোড করা ডিপেনডেন্সি গুলো স্থানীয়ভাবে সংরক্ষণ করে, যাতে পরবর্তী সময়ে পুনরায় ডাউনলোড করার প্রয়োজন না হয়। এটি বিল্ড প্রক্রিয়া দ্রুত করে এবং নেটওয়ার্ক ব্যান্ডউইথ সাশ্রয়ী করে। IVY Cache হলো সেই স্থান যেখানে আইভি ডিপেনডেন্সি গুলো ক্যাশ (সংরক্ষিত) করে রাখে।
IVY Cache হল একটি লোকাল ক্যাশ ডিরেক্টরি যেখানে আইভি ডিপেনডেন্সি গুলো সংরক্ষিত থাকে। এই ক্যাশটি আইভি যখন একটি ডিপেনডেন্সি ডাউনলোড করে, তখন সেটি ভবিষ্যতে ব্যবহার করার জন্য সংরক্ষণ করে রাখে। এর ফলে পরবর্তী সময়ে একই ডিপেনডেন্সি আবার ডাউনলোড করতে হয় না, যা বিল্ডের গতিকে আরও দ্রুত করে।
আইভি ডিফল্টভাবে ক্যাশে ডিপেনডেন্সি সংরক্ষণ করে ${user.home}/.ivy2/cache/
ডিরেক্টরিতে, তবে আপনি এটি কাস্টমাইজ করতে পারেন।
আইভি ক্যাশের কনফিগারেশন সাধারণত ivysettings.xml ফাইলে করা হয়। আপনি ক্যাশের অবস্থান, আর্কাইভিং, এবং ক্যাশ ম্যানেজমেন্ট সংক্রান্ত নানাবিধ সেটিংস কাস্টমাইজ করতে পারেন।
<ivysettings>
<cache name="default-cache" path="${user.home}/.ivy2/cache"/>
<!-- Define repositories -->
<repositories>
<repository name="central" url="https://repo1.maven.org/maven2"/>
</repositories>
</ivysettings>
এখানে:
default-cache
এবং এটি path
অ্যাট্রিবিউটের মাধ্যমে লোকাল ক্যাশের অবস্থান নির্ধারণ করা হয়েছে।${user.home}/.ivy2/cache
ডিরেক্টরি। এটি আইভির লোকাল ক্যাশের ডিফল্ট অবস্থান।আপনি যদি ক্যাশের ডিরেক্টরি কাস্টমাইজ করতে চান, তবে path
অ্যাট্রিবিউট ব্যবহার করে নতুন লোকাল ডিরেক্টরি নির্ধারণ করতে পারেন:
<ivysettings>
<cache name="my-cache" path="path/to/your/custom/cache"/>
</ivysettings>
এটি ক্যাশের অবস্থানকে path/to/your/custom/cache
ডিরেক্টরিতে পরিবর্তন করবে।
আইভি ক্যাশে ডিপেনডেন্সি সংরক্ষণ করার সময় আর্কাইভ ফাইল তৈরি করে থাকে। এটি ডিপেনডেন্সির ভার্সন, আর্কাইভ ফাইল নাম এবং ফাইল টাইপের ভিত্তিতে তৈরি হয়। আপনি এই ক্যাশ আর্কাইভিংয়ের প্যাটার্ন কনফিগার করতে পারেন।
<ivysettings>
<cache name="default-cache" path="${user.home}/.ivy2/cache">
<artifact pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
</cache>
</ivysettings>
এখানে:
[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]
।আইভি ক্যাশে পুরানো বা অপ্রয়োজনীয় ডিপেনডেন্সি ফাইলগুলো পরিষ্কার করতে, আপনি ক্যাশ পরিষ্কার করার টাস্ক ব্যবহার করতে পারেন। এটি বিল্ড স্ক্রিপ্টে অন্তর্ভুক্ত করা যায়:
<target name="clean-cache">
<delete dir="${user.home}/.ivy2/cache"/>
</target>
এটি .ivy2/cache
ডিরেক্টরির সব ডিপেনডেন্সি মুছে ফেলবে এবং ক্যাশ পরিষ্কার করবে।
IVY Cache Configuration আইভি ব্যবহারকারীদের জন্য ডিপেনডেন্সি ম্যানেজমেন্টকে আরো কার্যকরী করে তোলে, কারণ এটি ক্যাশিং এবং কাস্টমাইজেশনের মাধ্যমে বিল্ড প্রক্রিয়াকে দ্রুত, সাশ্রয়ী এবং নির্ভরযোগ্য করে তোলে।
common.read_more